#pragma once
#include <Rz/IObject.h>
#include <Rz/Graphics/Render/IBuffer.h>

namespace Rz { namespace Graphics { namespace Render {

enum class SurfaceFormat
{
    Color,
    Bgr565,
    Bgra5551,
    Bgra4444,
    Dxt1,
    Dxt3,
    Dxt5,
    NormalizedByte2,
    NormalizedByte4,
    Rgba1010102,
    Rg32,
    Rgba64,
    Alpha8,
    Single,
    Vector2,
    Vector4,
    HalfSingle,
    HalfVector2,
    HalfVector4,
    HdrBlendable
};

class ITexture :
	virtual public IObject,
	virtual public IBuffer
{
	public:
		RZ_RTTI_INTERFACE(Rz::Graphics::Render, ITexture);
		RZ_RTTI_IMPLEMENTS(IObject, IBuffer);
		RZ_RTTI_END;
};

} } }
